Computers typically include a host central processing unit (“CPU”) and a persistent storage device such as a hard disc drive storage unit. Typically the hard disc drive unit includes one or more discs, each having two storage surfaces whereon addressable tracks and storage sectors are defined. The collection of all tracks having the same track number on the various surfaces defines a storage cylinder. The hard disc drive unit includes a read/write head for accessing data to be stored or read from each disc storage surface.
A hard disc controller is coupled between the CPU and the hard disc to control the flow of data between the CPU and hard disc, and to control positioning of the hard disc read/write heads for accessing desired hard disc sectors. Data that the host CPU wants to store on the disc memory is first stored in a buffer memory within the controller. The controller then reads the buffer memory and writes the data to the hard disc at storage locations specified by the host CPU. Data that the host wants to retrieve from the disc memory are requested by the host CPU and retrieved from disc to the buffer memory by the disc controller. The data are then sent to the host by the disc controller via an interface.
The physical geometry of a hard disc surface refers to the disc drive configuration, including the number of tracks or cylinders, sectors per track, and heads. Due to limitations in some host system software, not all disc drive physical geometries are supported. Consequently, to promote compatibility with such host systems, the disc drive software often emulates a given physical geometry. Such emulated geometry is termed logical disc geometry to differentiate it from the physical or actual geometry of a disc drive.
Historically and continuing to the present, the host CPU specifies memory storage locations in terms of physical hard disc addresses, for example, by specifying hard disc cylinder, head and sector (collectively, “CHS”) whereat desired data are to be found or stored. Also, different systems will provide different types of addressing. For example, a CPU may supply through a host interface either a logical CHS (LCHS) or a logical block address (LBA). In either case, it is necessary that the disc controller be able to translate the received address into a physical address for accessing the disc drive. The necessary physical-to-logical address conversions take place under control of a local microprocessor associated with the hard disc controller unit. Generally, to be competitive in the commercial market place, the local microprocessor is a relatively inexpensive, low performance component.
Atsatt, et. al. disclosed a method and system for high-speed address translation with defect management in U.S. Pat. No. 5,983,309 (the Atsatt patent). The Atsatt patent discloses utilizing a physical zone table to translate logical addresses to physical addresses using a serpentine recording scheme, wherein all data on a given surface is transferred, within a recording zone, before switching heads. However, the Atsatt Patent did not contemplate multiple-serpent recording schemes wherein more than one serpent may be employed within a recording zone. In other words, the physical zone table of Atsatt is applicable only when there is one serpent per recording zone.
Also, it is likely that there will be defective sectors on a drive. Consequently, the disc controller will need to provide defect management in combination with logical-to-physical address translation. Another problem that has been encountered involves the use of conventional hardware to implement multiple serpents per zone. For example, traditional application specific integrated circuit (ASIC) hardware supports only the ‘down’ direction of serpents. Additionally, the physical zone table described in the Atsatt Patent has a maximum indexable range of only 256 entries.
Accordingly, there is a need for a method and apparatus for converting between physical LBAs and CHS addresses with defect management, when a surface-based multiple-serpent recording scheme is employed. Preferably, the method and apparatus will be capable of overcoming certain hardware limitations.